const webpack = require('webpack')
const CompressionPlugin = require('compression-webpack-plugin') 
module.exports = {
	//axios域代理，解决axios跨域问题
	//注意，这里的public就是对于eggjs下的静态资源
	publicPath: process.env.NODE_ENV === "production" ? "/public" : "/", //部署应用包时的基本 URL
	devServer: {
		proxy: {
			// 请求的地址是 http://yanfu.zhongguo12315.net/index/index/login,
			// axios中配置production环境添加前缀
			// server中的请求时 axios.post('/index/index/login')
			// pathRewrite会把/index替换'',不然就变成 'index/index/index/login'
			'/api': {
				target: process.env.NODE_ENV === "production" ? 'http://119.45.49.244:7002/' :'http://localhost:7001/',
				changeOrigin: true,
				ws: true,
				pathRewrite: {
					'^/api': ''
				}
			}
		}
			// proxy: {
			// 		'': {
			// 				target: 'http://127.0.0.1:8080',
			// 				changeOrigin: true,
			// 				ws: true,
			// 				pathRewrite: {

			// 				}
			// 		}
			// }
	},
	lintOnSave: true,
	css: {
		loaderOptions: {
			postcss: {
				plugins: [
					require('postcss-pxtorem')({
						rootValue: 10, // 换算的基数
						// 忽略转换正则匹配项。插件会转化所有的样式的px。比如引入了三方UI，也会被转化。目前我使用 selectorBlackList字段，来过滤
						//如果个别地方不想转化px。可以简单的使用大写的 PX 或 Px 。
						selectorBlackList: ['vant'],
						propList: ['*'],
					}),
				]
			}
		}
	},
	// gzip压缩, 后端没做我就关闭了
	configureWebpack:config=>{
		if(process.env.NODE_ENV === 'production'){
			// if(false){
			return{
				plugins:[new CompressionPlugin({
					test: /\.js$|\.html$|\.css/, // 匹配文件名
					threshold:10240, // 对超过10k的数据进行压缩
					deleteOriginalAssets: false // 是否删除源文件
				})]
			}
		}
	},
	// chainWebpack: config => {
  //   config.plugin('provide').use(webpack.ProvidePlugin, [{
  //     $: 'jquery',
  //     jquery: 'jquery',
  //     jQuery: 'jquery',
  //     'window.jQuery': 'jquery'
  //   }])
  // }
}
